With the development of network technology and multimedia technology, various applications have made a higher and higher demand for the execution efficiency of memory copy. For example, when a multimedia play application accesses, for example, video resources via a network, usually it is necessary to pre-download a section of a to-be-played application to a memory for buffering, so as to avoid a delay during playing. At this point, memory copy is used to copy the buffered video from one location of the memory to another location so as to play the buffered video. In addition, memory copy is also required to be performed in other applications that need to frequently move data in a memory.
In the case of the foregoing video play application, memory copy is required to be performed in “real time” as far as possible, otherwise adverse consequences such as a pause might occur during the video play. However, memory copy approaches in the prior art highly rely on the data transmission efficiency on a bus and the control at a central processor; when the bus is occupied by other applications or the load of the central processor itself is relatively heavy, the data transmission efficiency on the bus and the workload at the central processor become a bottleneck affecting the execution efficiency of memory copy.